package com.fay.basic.proxy;


public class AppTest {
    public static void main(String[] args) {
        // 目标对象
        UserDao target = new UserDao();

        //代理对象
        UserDaoProxy userDaoProxy = new UserDaoProxy(target);

        //执行的是代理的方法
        userDaoProxy.save();

        // 原始的类型
        System.out.println(target.getClass());

        // 给目标对象创建代理对象
        IUserDao proxyInstance = (IUserDao) new ProxyFactory(target).getProxyInstance();
        // 内存中动态生成的代理对象
        System.out.println(proxyInstance.getClass());

        // 代理对象
        proxyInstance.save();
    }
}
